package eightSynchronized;

import lombok.extern.slf4j.Slf4j;

import java.util.concurrent.TimeUnit;

/**
 * @author： pang-yun
 * @date： 2021-10-14 20:06
 * 功能目的 ：用于
 *
 * 只有一种结果
 * [Thread-1] INFO eightSynchronized.Num4 - 2
 * [Thread-0] INFO eightSynchronized.Num4 - 1
 *
 * 因为创建了两个对象  synchronized 只是锁住 自己的对象  所以相互不影响
 *
 */

public class Four {
    public static void main(String[] args) {
        Num4 numA = new Num4();
        Num4 numB = new Num4();

        new Thread(()->{numA.a();}).start();
        new Thread(()->{numB.b();}).start();

    }
}

@Slf4j
class Num4{
    public synchronized void a(){
        try {
            TimeUnit.SECONDS.sleep(1);
            log.info("1");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public synchronized void b(){
        log.info("2");
    }
}
